A developer who wishes to develop a spoken natural language (SNL) interface for his or her application currently faces a daunting task. For instance, to build an SNL interface from “scratch,” a developer may be expected to perform the complex tasks of: defining commands for interacting with the application; selecting appropriate types of models for recognizing the commands; selecting appropriate examples and features for use in the training the models; tuning the models to provide suitable performance, and so on. These tasks are typically performed by engineers and scientists who have significant theoretical knowledge and experience in the field of linguistics and computer science. The great majority of application developers may lack such knowledge and skills.
Some platforms do exist for assisting a developer in adding relatively simple voice recognition capabilities to some applications. However, these platforms have a number of limitations. For example, some platforms place restrictions on the commands that can be used to interact with the voice recognition functionality. In addition, or alternatively, some platforms place limitations on the types of applications that may use the voice recognition functionality. The above drawbacks are cited by way of example, not limitation.